package com.settlement.system.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.settlement.system.common.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
        import java.math.BigDecimal;
        import java.time.LocalDateTime;
import java.util.List;

/**
* <p>
* 百盛订单表
* </p>
*
* @author huangrensen
* @since 2024-09-04
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BsOmsOrder extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * ID
    */
    @TableId(value = "id")
    private String id;
    @TableField(exist = false)
    private List<String> idList;


    /**
    * 店铺ID
    */
    private String storeCode;
    @TableField(exist = false)
    private String storeName;


    /**
    * 内部订单号
    */
    private String oId;

    /**
     * 买家实付金额
     */
    private BigDecimal buyerPaidAmount = BigDecimal.ZERO;

    /**
     * 卖家实收金额
     */
    private BigDecimal sellerIncomeAmount = BigDecimal.ZERO;


    /**
    * 线上订单号
    */
    private String mergeSoId;


    /**
    * 下单时间
    */
    private LocalDateTime orderDate;


    /**
    * 付款日期
    */
    private LocalDateTime payDate;


    /**
    * 发货日期
    */
    private LocalDateTime sendDate;


    /**
    * 应付金额
    */
    private BigDecimal payAmount = BigDecimal.ZERO;


    /**
    * 已付金额
    */
    private BigDecimal paidAmount = BigDecimal.ZERO;


    /**
    * 总数量
    */
    private Integer qty = 0;


    /**
    * 商品总成交金额
    */
    private BigDecimal amount = BigDecimal.ZERO;


    /**
    * 状态
    */
    private String status;


    /**
    * 发货仓
    */
    private String sendInventory;


    /**
    * 支付单号
    */
    private String outerPayId;


    /**
    * 平台创建时间
    */
    private LocalDateTime created;

    @TableField(exist = false)
    private String tableName;

    @TableField(exist = false)
    private List<BsOmsOrderDetail> detailList;
}
